Ame Liu 22910358

1.pairs 矩阵散点图 探索两两变量之间的相关性

rw <-read.table('/Users/liuyu/Downloads/winequality-red.csv', head=T,sep=',',fileEncoding = 'UTF-8')
pairs(rw)

pairs(~pH+alcohol+quality+density, data=rw)

只显示下半边数据

pairs(~pH+alcohol+quality+density, data=rw,upper.panel = NULL)

绘制mpg图像

a <- data.frame(mpg)
pairs(~displ+cty+hwy, data=mpg)# mpg是ggplot2的内置数据集

绘制散点图,封装散点图(具体到每一个类),对比图

library(ggplot2)
summary(mpg$displ)#mpg的displ数据
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.600   2.400   3.300   3.472   4.600   7.000 
ggplot(iris,aes(Sepal.Length,Sepal.Width))+geom_point()+facet_wrap(~Species)#作iris数据集的图

#针对iris数据库进行关于Species的分面处理
ggplot(mpg,aes(displ,hwy))+geom_point(colour='blue')+facet_wrap(~class,ncol = 2)+labs(title = "point geom")#aes是设置横纵坐标,facet_wrap此处为封装型,geom_point()是绘制散点图,tile是设置标题.

ggplot(mpg,aes(displ,hwy))+geom_point(colour='blue')+labs(title = "point geom")#点状图

ggplot(mpg,aes(displ,hwy))+geom_smooth(colour='yellow')+labs(title = "geom_smooth")#平滑图
`geom_smooth()` using method = 'loess' and formula 'y ~ x'

#通过gridExtra做对比图
p1 <- ggplot(mpg,aes(displ,hwy))+geom_point(colour='blue')+facet_wrap(~class)+labs(title = "point geom")

p2 <- ggplot(mpg,aes(displ,hwy))+geom_smooth(colour='yellow')+labs(title = "geom_smooth")

library(gridExtra)
grid.arrange(p1, p2, ncol=2)
`geom_smooth()` using method = 'loess' and formula 'y ~ x'

展示一下mpg和iris内置数据集,是流行的车的数据

rrr <- data.frame(mpg)
rrr
mm <- data.frame(iris)
mm

Aesthetic levels

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, size = class), show.legend = TRUE)

d<- ggplot(mpg,aes(x=displ,y=hwy,size = class))+geom_point(fill = "red",show.legend = TRUE)+labs(title = "point geom") #geom_point1
c <- ggplot(mpg,aes(x=displ,y=hwy,shape = drv,alpha = class))+geom_point(colour='black',fill = "red")+labs(title = "point geom")   #geom_point2

a <- ggplot(mpg,aes(x=displ,y=hwy,group = drv))+geom_smooth(colour='yellow')+labs(title = "geom_smooth")
#geom_smooth1
b <- ggplot(mpg,aes(x=displ,y=hwy,color = drv,linetype = drv))+geom_smooth(colour='yellow')+labs(title = "geom_smooth") #geom_smooth2
grid.arrange(a, b,c, d, ncol=2)
library(gridExtra)
p1 <- ggplot(data = mpg) +
geom_smooth(mapping = aes(x = displ, y = hwy, group = drv)) #mapping意为映射
p2 <- ggplot(data = mpg) +
geom_smooth(mapping = aes(x = displ, y = hwy, color = drv,
linetype = drv))
p3 <- ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, size = class),
show.legend = TRUE) #显示图例标注
p4 <- ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, alpha = class,
shape = drv))
grid.arrange(p1, p2, p3, p4, ncol=2)
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
Warning: Using size for a discrete variable is not advised.
Warning: Using alpha for a discrete variable is not advised.

ggplot(mpg,aes(x = displ, y = hwy))+geom_point()+geom_smooth()
`geom_smooth()` using method = 'loess' and formula 'y ~ x'

#作图(数据,坐标)+ 选择图形种类
ggplot(mpg,aes(x=displ,y=hwy,color=class))+geom_point()+geom_smooth()
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  span too small.   fewer data values than degrees of freedom.
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  pseudoinverse used at 5.6935
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  neighborhood radius 0.5065
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  reciprocal condition number  0
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  There are other near singularities as well. 0.65044
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  span too small.   fewer data values than degrees of freedom.
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  pseudoinverse used at 5.6935
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  neighborhood radius 0.5065
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  reciprocal condition number  0
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  There are other near singularities as well. 0.65044
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  pseudoinverse used at 4.008
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  neighborhood radius 0.708
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  reciprocal condition number  0
Warning in simpleLoess(y, x, w, span, degree = degree, parametric = parametric,  :
  There are other near singularities as well. 0.25
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  pseudoinverse used at 4.008
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  neighborhood radius 0.708
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  reciprocal condition number  0
Warning in predLoess(object$y, object$x, newx = if (is.null(newdata)) object$x else if (is.data.frame(newdata)) as.matrix(model.frame(delete.response(terms(object)),  :
  There are other near singularities as well. 0.25

Hexbin - 2D histogram geom_hex()为六边形散点图



library(hexbin)
a1 <- with(rw,{bin<-hexbin(x=pH,y=density,xbins=10) #xbins的意思为x即是个数,以10个位一组计数
             plot(bin)})


ggplot(rw,aes(pH,density))+geom_smooth(colour='yellow')+labs(title = "geom_smooth")+geom_hex()
`geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'

ggplot2之常见观察变量绘图geom https://www.jianshu.com/p/4e4f6168fa37

反映频率的图(适合整数):

ggplot(data = rw) +
geom_count(mapping = aes(x=pH, y=density))

近似热图

library(dplyr)
counting <- count(mpg, displ, hwy)
ggplot(counting,aes(displ,hwy)) +
geom_tile(mapping = aes(fill = n))#设n为数量

LS0tCnRpdGxlOiAiNDAwOXdlZWs0bGVjdHVyZSIKb3V0cHV0OiBodG1sX25vdGVib29rCiAgCiAgIAotLS0KQW1lIExpdSAyMjkxMDM1OAoKMS5wYWlycwrnn6npmLXmlaPngrnlm74K5o6i57Si5Lik5Lik5Y+Y6YeP5LmL6Ze055qE55u45YWz5oCnCgoKYGBge3J9CnJ3IDwtcmVhZC50YWJsZSgnL1VzZXJzL2xpdXl1L0Rvd25sb2Fkcy93aW5lcXVhbGl0eS1yZWQuY3N2JywgaGVhZD1ULHNlcD0nLCcsZmlsZUVuY29kaW5nID0gJ1VURi04JykKcGFpcnMocncpCgpgYGAKCmBgYHtyfQpwYWlycyh+cEgrYWxjb2hvbCtxdWFsaXR5K2RlbnNpdHksIGRhdGE9cncpCmBgYArlj6rmmL7npLrkuIvljYrovrnmlbDmja4KCmBgYHtyfQpwYWlycyh+cEgrYWxjb2hvbCtxdWFsaXR5K2RlbnNpdHksIGRhdGE9cncsdXBwZXIucGFuZWwgPSBOVUxMKQpgYGAKICAgIAogIOe7mOWItm1wZ+WbvuWDjwpgYGB7cn0KYSA8LSBkYXRhLmZyYW1lKG1wZykKcGFpcnMofmRpc3BsK2N0eStod3ksIGRhdGE9bXBnKSMgbXBn5pivZ2dwbG90MueahOWGhee9ruaVsOaNrumbhgoKYGBgCiAgCiAg57uY5Yi25pWj54K55Zu+77yM5bCB6KOF5pWj54K55Zu+KOWFt+S9k+WIsOavj+S4gOS4quexuynvvIzlr7nmr5Tlm74KYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKc3VtbWFyeShtcGckZGlzcGwpI21wZ+eahGRpc3Bs5pWw5o2uCmdncGxvdChpcmlzLGFlcyhTZXBhbC5MZW5ndGgsU2VwYWwuV2lkdGgpKStnZW9tX3BvaW50KCkrZmFjZXRfd3JhcCh+U3BlY2llcykj5L2caXJpc+aVsOaNrumbhueahOWbvgoj6ZKI5a+5aXJpc+aVsOaNruW6k+i/m+ihjOWFs+S6jlNwZWNpZXPnmoTliIbpnaLlpITnkIYKZ2dwbG90KG1wZyxhZXMoZGlzcGwsaHd5KSkrZ2VvbV9wb2ludChjb2xvdXI9J2JsdWUnKStmYWNldF93cmFwKH5jbGFzcyxuY29sID0gMikrbGFicyh0aXRsZSA9ICJwb2ludCBnZW9tIikjYWVz5piv6K6+572u5qiq57q15Z2Q5qCHLGZhY2V0X3dyYXDmraTlpITkuLrlsIHoo4XlnovvvIxnZW9tX3BvaW50KCnmmK/nu5jliLbmlaPngrnlm74sdGlsZeaYr+iuvue9ruagh+mimC4KZ2dwbG90KG1wZyxhZXMoZGlzcGwsaHd5KSkrZ2VvbV9wb2ludChjb2xvdXI9J2JsdWUnKStsYWJzKHRpdGxlID0gInBvaW50IGdlb20iKSPngrnnirblm74KZ2dwbG90KG1wZyxhZXMoZGlzcGwsaHd5KSkrZ2VvbV9zbW9vdGgoY29sb3VyPSd5ZWxsb3cnKStsYWJzKHRpdGxlID0gImdlb21fc21vb3RoIikj5bmz5ruR5Zu+CgoKI+mAmui/h2dyaWRFeHRyYeWBmuWvueavlOWbvgpwMSA8LSBnZ3Bsb3QobXBnLGFlcyhkaXNwbCxod3kpKStnZW9tX3BvaW50KGNvbG91cj0nYmx1ZScpK2ZhY2V0X3dyYXAofmNsYXNzKStsYWJzKHRpdGxlID0gInBvaW50IGdlb20iKQoKcDIgPC0gZ2dwbG90KG1wZyxhZXMoZGlzcGwsaHd5KSkrZ2VvbV9zbW9vdGgoY29sb3VyPSd5ZWxsb3cnKStsYWJzKHRpdGxlID0gImdlb21fc21vb3RoIikKCmxpYnJhcnkoZ3JpZEV4dHJhKQpncmlkLmFycmFuZ2UocDEsIHAyLCBuY29sPTIpCgpgYGAK5bGV56S65LiA5LiLbXBn5ZKMaXJpc+WGhee9ruaVsOaNrumbhu+8jOaYr+a1geihjOeahOi9pueahOaVsOaNrgpgYGB7cn0KcnJyIDwtIGRhdGEuZnJhbWUobXBnKQpycnIKbW0gPC0gZGF0YS5mcmFtZShpcmlzKQptbQpgYGAKCgpBZXN0aGV0aWMgbGV2ZWxzCmBgYHtyfQpnZ3Bsb3QoZGF0YSA9IG1wZykgKyBnZW9tX3BvaW50KG1hcHBpbmcgPSBhZXMoeCA9IGRpc3BsLCB5ID0gaHd5LCBzaXplID0gY2xhc3MpLCBzaG93LmxlZ2VuZCA9IFRSVUUpCgpkPC0gZ2dwbG90KG1wZyxhZXMoeD1kaXNwbCx5PWh3eSxzaXplID0gY2xhc3MpKStnZW9tX3BvaW50KGZpbGwgPSAicmVkIixzaG93LmxlZ2VuZCA9IFRSVUUpK2xhYnModGl0bGUgPSAicG9pbnQgZ2VvbSIpICNnZW9tX3BvaW50MQpjIDwtIGdncGxvdChtcGcsYWVzKHg9ZGlzcGwseT1od3ksc2hhcGUgPSBkcnYsYWxwaGEgPSBjbGFzcykpK2dlb21fcG9pbnQoY29sb3VyPSdibGFjaycsZmlsbCA9ICJyZWQiKStsYWJzKHRpdGxlID0gInBvaW50IGdlb20iKSAgICNnZW9tX3BvaW50MgoKYSA8LSBnZ3Bsb3QobXBnLGFlcyh4PWRpc3BsLHk9aHd5LGdyb3VwID0gZHJ2KSkrZ2VvbV9zbW9vdGgoY29sb3VyPSd5ZWxsb3cnKStsYWJzKHRpdGxlID0gImdlb21fc21vb3RoIikKI2dlb21fc21vb3RoMQpiIDwtIGdncGxvdChtcGcsYWVzKHg9ZGlzcGwseT1od3ksY29sb3IgPSBkcnYsbGluZXR5cGUgPSBkcnYpKStnZW9tX3Ntb290aChjb2xvdXI9J3llbGxvdycpK2xhYnModGl0bGUgPSAiZ2VvbV9zbW9vdGgiKSAjZ2VvbV9zbW9vdGgyCmdyaWQuYXJyYW5nZShhLCBiLGMsIGQsIG5jb2w9MikKYGBgCgoKYGBge3J9CmxpYnJhcnkoZ3JpZEV4dHJhKQpwMSA8LSBnZ3Bsb3QoZGF0YSA9IG1wZykgKwpnZW9tX3Ntb290aChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSwgZ3JvdXAgPSBkcnYpKSAjbWFwcGluZ+aEj+S4uuaYoOWwhApwMiA8LSBnZ3Bsb3QoZGF0YSA9IG1wZykgKwpnZW9tX3Ntb290aChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSwgY29sb3IgPSBkcnYsCmxpbmV0eXBlID0gZHJ2KSkKcDMgPC0gZ2dwbG90KGRhdGEgPSBtcGcpICsKZ2VvbV9wb2ludChtYXBwaW5nID0gYWVzKHggPSBkaXNwbCwgeSA9IGh3eSwgc2l6ZSA9IGNsYXNzKSwKc2hvdy5sZWdlbmQgPSBUUlVFKSAj5pi+56S65Zu+5L6L5qCH5rOoCnA0IDwtIGdncGxvdChkYXRhID0gbXBnKSArCmdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3ksIGFscGhhID0gY2xhc3MsCnNoYXBlID0gZHJ2KSkKZ3JpZC5hcnJhbmdlKHAxLCBwMiwgcDMsIHA0LCBuY29sPTIpCmBgYApgYGB7cn0KZ2dwbG90KG1wZyxhZXMoeCA9IGRpc3BsLCB5ID0gaHd5KSkrZ2VvbV9wb2ludCgpK2dlb21fc21vb3RoKCkKI+S9nOWbvu+8iOaVsOaNru+8jOWdkOagh++8iSsg6YCJ5oup5Zu+5b2i56eN57G7CmdncGxvdChtcGcsYWVzKHg9ZGlzcGwseT1od3ksY29sb3I9Y2xhc3MpKStnZW9tX3BvaW50KCkrZ2VvbV9zbW9vdGgoKQoj6aKc6Imy5L2c5Li656eN57G755qE5L6d5o2uCgpgYGAKCgpIZXhiaW4gLSAyRCBoaXN0b2dyYW0gZ2VvbV9oZXgoKeS4uuWFrei+ueW9ouaVo+eCueWbvgpgYGB7cn0KCgpsaWJyYXJ5KGhleGJpbikKYTEgPC0gd2l0aChydyx7YmluPC1oZXhiaW4oeD1wSCx5PWRlbnNpdHkseGJpbnM9MTApICN4Ymluc+eahOaEj+aAneS4unjljbPmmK/kuKrmlbDvvIzku6UxMOS4quS9jeS4gOe7hOiuoeaVsAogICAgICAgICAgICAgcGxvdChiaW4pfSkKCmdncGxvdChydyxhZXMocEgsZGVuc2l0eSkpK2dlb21fc21vb3RoKGNvbG91cj0neWVsbG93JykrbGFicyh0aXRsZSA9ICJnZW9tX3Ntb290aCIpK2dlb21faGV4KCkKI2dlb21faGF4KCnlgZrlha3ovrnlvaLmlaPngrnlm74KCgoKCgoKCgpgYGAKCgpnZ3Bsb3Qy5LmL5bi46KeB6KeC5a+f5Y+Y6YeP57uY5Zu+Z2VvbQpodHRwczovL3d3dy5qaWFuc2h1LmNvbS9wLzRlNGY2MTY4ZmEzNwoK5Y+N5pig6aKR546H55qE5Zu+KOmAguWQiOaVtOaVsCnvvJoKCmBgYHtyfQpnZ3Bsb3QoZGF0YSA9IHJ3KSArCmdlb21fY291bnQobWFwcGluZyA9IGFlcyh4PXBILCB5PWRlbnNpdHkpKQoKYGBgCui/keS8vOeDreWbvgoKYGBge3J9CmxpYnJhcnkoZHBseXIpCmNvdW50aW5nIDwtIGNvdW50KG1wZywgZGlzcGwsIGh3eSkKZ2dwbG90KGRhdGEgPSBjb3VudGluZywgbWFwcGluZyA9IGFlcyh4ID0gZGlzcGwseSA9IGh3eSkpICsKZ2VvbV90aWxlKG1hcHBpbmcgPSBhZXMoZmlsbCA9IG4pKSPorr5u5Li65pWw6YePCmBgYAoK